/* --------------------------------------------------- ABM PERSONAS----------------------------------------------------------------*/
$(document).ready(function(){
	var oTable1 = $('#sample-table-2').dataTable({
		//Permite o no guardar el numero de pagina que estaba seleccionada mediante una cookie y al recargar no se pierde la seleccion
		"bStateSave":true,
		//Permite poner los elementos del combo para cambiar la cantidad de filas a visualizar
		"aLengthMenu": [[30, 10, 25, -1], [30, 10, 25, "Todos"]],
		//Cantidad de filas de la tabla por pagina
		"iDisplayLength":30,
		//Ordena las filas por el valor de la columna n de forma ascendente o descendente. La columna inicial es la 0
		"aaSorting": [[ 1, "asc" ]],
		//Para que los mensajes se muestren en español
		"oLanguage": {
			"sProcessing":   "Procesando...",
			"sLengthMenu":   "Mostrar _MENU_ registros",
			"sZeroRecords":  "No se encontraron resultados",
			"sInfo":         "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
			"sInfoEmpty":    "Mostrando desde 0 hasta 0 de 0 registros",
			"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
			"sInfoPostFix":  "",
			"sSearch":       "Buscar:",
			"sUrl":          "",
			"oPaginate": {
				"sFirst":    "Primero",
				"sPrevious": "Anterior",
				"sNext":     "Siguiente",
				"sLast":     "&Uacute;ltimo"
			}
		},
		
		"aoColumns": [
		  { "bSortable": false }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }
		]
	});
	
	$('table th input:checkbox').on('click' , function(){
		var that = this;
		$(this).closest('table').find('tr > td:first-child input:checkbox')
		.each(function(){
			this.checked = that.checked;
			$(this).closest('tr').toggleClass('selected');
		});
	});
});

/*Este metodo se llama cuando en el metodo consultar personas se aprieta el boton eliminar de cada registro*/
function eliminarPersona(url, nombre){
	var resp = confirm("Realmente desea eliminar a la persona: '"+nombre+"'?");
	if(resp == true){
		$("#cuerpo").load(url, function(){});
	}
}

//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//Este metodo se llama cuando se tiene que limpiar el formulario de personas
function limpiarCamposPersona(){
	var apellido = document.getElementById("apellido");
	var nombre = document.getElementById("nombre");
	var abreviatura = document.getElementById("abreviatura");
	var sexo = document.getElementById("sexo");
	var foto = document.getElementById("foto");
	var fechaNacimiento = document.getElementById("fechaNacimiento");
	var tipoDocumento = document.getElementById("tipoDocumento");
	var numeroDocumento = document.getElementById("numeroDocumento");
	var provincia = document.getElementById("provincia");
	var localidad = document.getElementById("localidad");
	var domicilio = document.getElementById("domicilio");
	var telefonoFijo = document.getElementById("telefonoFijo");
	var telefonoCelular = document.getElementById("telefonoCelular");
	var email = document.getElementById("email");
	var facebook = document.getElementById("facebook");	
	var descripcion = document.getElementById("descripcion");	
	var estado = document.getElementById("estadoPersona");
	
	//Inicializamos todos campos a vacios.		
	apellido.value = "";
	nombre.value = "";
	abreviatura.value = "";
	sexo.value = "1";
	foto.value = "";
	fechaNacimiento.value = "";
	tipoDocumento.value = "0";
	numeroDocumento.value = "";
	provincia.value = "0";
	localidad.value = "0";
	domicilio.value = "";
	telefonoFijo.value = "";
	telefonoCelular.value = "";
	email.value = "";
	facebook.value = "";
	descripcion.value = "";
	estado.value = "1";
		
	//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
	$("#campoApellido").removeClass("has-error");
	$("#campoNombre").removeClass("has-error");
	$("#campoAbreviatura").removeClass("has-error");
		
	//Le damos el foco al primer campo a completar
	$("#apellido").focus();
}

//Este metodo se llama cuando se tiene que limpiar el formulario de directivos
function limpiarCamposDirectivo(){
	var cargoDirectivo = document.getElementById("cargoDirectivo");	
	var estado = document.getElementById("estadoDirectivo");
	
	//Inicializamos todos campos a vacios.		
	cargoDirectivo.value = "0";
	estado.value = "1";
		
	//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
	$("#campoCargoDirectivo").removeClass("has-error");
		
	//Le damos el foco al primer campo a completar
	$("#esDirectivo").focus();
}

//Este metodo se llama cuando se tiene que limpiar el formulario de docentes
function limpiarCamposDocente(){
	var trato = document.getElementById("trato");
	var colorpicker1 = document.getElementById("colorpicker1");
	var colorpicker2 = document.getElementById("colorpicker2");
	var fechaIngreso = document.getElementById("fechaIngresoDocente");
	var curriculum = document.getElementById("curriculum");
	var estado = document.getElementById("estadoDocente");
	
	//Inicializamos todos campos a vacios.		
	trato.value = "";
	
	$('#colorpicker1').colorpicker('setValue',"#ffffff");
	$('#colorpicker2').colorpicker('setValue',"#000000");
	
	$("#colorEjemplo").css("background","#FFFFFF");
	$("#colorEjemplo").css("color","#000000");	
	
	fechaIngreso.value = "";
	curriculum.value = "";
	estado.value = "1";
	
	//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
	$("#campoTrato").removeClass("has-error");
	$("#campoColores").removeClass("has-error");
		
	//Le damos el foco al primer campo a completar
	$("#esDocente").focus();
}

//Este metodo se llama cuando se tiene que limpiar el formulario de alumnos
function limpiarCamposAlumno(){
	var legajo = document.getElementById("legajo");
	var fechaIngreso = document.getElementById("fechaIngresoAlumno");
	var estado = document.getElementById("estadoAlumno");
	
	//Inicializamos todos campos a vacios.		
	legajo.value = "";
	fechaIngreso.value = "";
	estado.value = "1";
	
	//Le damos el foco al primer campo a completar
	$("#esAlumno").focus();
}

//Este metodo se llama cuando se tiene que limpiar el formulario de totures
function limpiarCamposTutor(){
	var estado = document.getElementById("estadoTutor");
	
	//Inicializamos todos campos a vacios.
	estado.value = "1";
	
	//Le damos el foco al primer campo a completar
	$("#esTutor").focus();
}

//Este metodo se llama cuando se tiene que limpiar el formulario de usuarios
function limpiarCamposUsuario(){
	var permisoDirectivo = document.getElementById("permisoDirectivo");
	var permisoDocente = document.getElementById("permisoDocente");
	var permisoAlumno = document.getElementById("permisoAlumno");
	var permisoTutor = document.getElementById("permisoTutor");
	
	var usuario = document.getElementById("nombreUsuario");
	var password = document.getElementById("password");
	var estado = document.getElementById("estadoUsuario");
	
	//Inicializamos todos campos a vacios.		
	permisoDirectivo.value = "0";
	permisoDocente.value = "0";
	permisoAlumno.value = "0";
	permisoTutor.value = "0";
	
	usuario.value = "";
	password.value = "";	
	estado.value = "1";
	
	//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
	$("#campoNombreUsuario").removeClass("has-error");
	$("#campoNombreUsuario").removeClass("has-success");
	$("#campoPassword").removeClass("has-error");	
		
	//Le damos el foco al primer campo a completar
	$("#permisoDirectivo").focus();
}

//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//Este metodo se llama para armar la abreviatura de una persona con las tres primeras letras del apellido + , + las tres primeras letras del nombre
function completarAbreviatura(){
	var apellido = document.getElementById("apellido");
	var nombre = document.getElementById("nombre");
	var abreviatura = document.getElementById("abreviatura");
	
	abreviatura.value = apellido.value.substring(0,3) + ", " + nombre.value.substring(0,3);
}

//Este metodo se llama para armar el usuario de una persona con las primeras letras del nombre + el apellido completo
function completarUsuario(url){
	var apellido = document.getElementById("apellido");
	var nombre = document.getElementById("nombre");
	
	$.post(url, { apellido: apellido.value, nombre: nombre.value },
		function(data){
			var usuario = document.getElementById("nombreUsuario");	
			usuario.value = data;
	});
}

//Este metodo se llama para completar el password del usuario de un docente con el numero de documento completo
function completarPassword(){
	var numeroDocumento = document.getElementById("numeroDocumento");
	var password = document.getElementById("password");
		
	password.value = numeroDocumento.value;	
}

var usuarioRepetido = true;

//Este metodo se llama para comprobar si el usuario ingresado esta siendo ya usado o no
function comprobarUsuario(url){
	var usuario = document.getElementById("nombreUsuario");
	
	if(usuario.disabled != true){
		$.post(url, { usuario: usuario.value },
			function(data){
				if(data == "usuarioRepetido"){
					usuarioRepetido = true;
					$("#campoNombreUsuario").removeClass("has-success");
					$("#campoNombreUsuario").addClass("has-error");
				}else{
					usuarioRepetido = false;
					$("#campoNombreUsuario").removeClass("has-error");
					$("#campoNombreUsuario").addClass("has-success");
				}
		});
	}
}

//Este metodo se llama para mostrar o no el password del usuario
function mostrarPassword1(){
	var mostrarPassword = document.getElementById("mostrarPassword");
	
	if(mostrarPassword.checked == true){
		$('#password').attr('type', 'text');
	}else{
		$('#password').attr('type', 'password');	
	}
}

//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//Este metodo se llama para mostrar o no el formulario para cargar los datos de los directivos
function mostrarFormularioDirectivo(){
	$('#formularioDirectivo').toggle("fast");
}

//Este metodo se llama para mostrar o no el formulario para cargar los datos de los docentes
function mostrarFormularioDocente(){
	$('#formularioDocente').toggle("fast");
}

//Este metodo se llama para mostrar o no el formulario para cargar los datos de los alumnos
function mostrarFormularioAlumno(){
	$('#formularioAlumno').toggle("fast");
}

//Este metodo se llama para mostrar o no el formulario para cargar los datos de los tutores
function mostrarFormularioTutor(){
	$('#formularioTutor').toggle("fast");
}

//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//Este metodo se llama para activar el permiso de usuario relacionado a los directivos
function activarPermisoDirectivo(){
	var esDirectivo = document.getElementById("esDirectivo");
	var permisoDirectivo = document.getElementById("permisoDirectivo");
		
	if(esDirectivo.value == 1)	
		permisoDirectivo.value = 1;
	else
		permisoDirectivo.value = 0;
}

//Este metodo se llama para activar el permiso de usuario relacionado a los docentes
function activarPermisoDocente(){
	var esDocente = document.getElementById("esDocente");
	var permisoDocente = document.getElementById("permisoDocente");
		
	if(esDocente.value == 1)	
		permisoDocente.value = 1;
	else
		permisoDocente.value = 0;
}

//Este metodo se llama para activar el permiso de usuario relacionado a los alumnos
function activarPermisoAlumno(){
	var esAlumno = document.getElementById("esAlumno");
	var permisoAlumno = document.getElementById("permisoAlumno");
		
	if(esAlumno.value == 1)	
		permisoAlumno.value = 1;
	else
		permisoAlumno.value = 0;
}

//Este metodo se llama para activar el permiso de usuario relacionado a los tutores
function activarPermisoTutor(){
	var esTutor = document.getElementById("esTutor");
	var permisoTutor = document.getElementById("permisoTutor");
		
	if(esTutor.value == 1)	
		permisoTutor.value = 1;
	else
		permisoTutor.value = 0;
}

//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//Este metodo se llama cuando se tiene que crear una persona nueva
function crearPersona(){
	//Datos de la persona
	var apellido = document.getElementById("apellido");
	var nombre = document.getElementById("nombre");
	var abreviatura = document.getElementById("abreviatura");
	var sexo = document.getElementById("sexo");
	var foto = document.getElementById("foto");
	var fechaNacimiento = document.getElementById("fechaNacimiento");
	var tipoDocumento = document.getElementById("tipoDocumento");
	var numeroDocumento = document.getElementById("numeroDocumento");
	var provincia = document.getElementById("provincia");
	var localidad = document.getElementById("localidad");
	var domicilio = document.getElementById("domicilio");
	var telefonoFijo = document.getElementById("telefonoFijo");
	var telefonoCelular = document.getElementById("telefonoCelular");
	var email = document.getElementById("email");
	var facebook = document.getElementById("facebook");	
	var descripcion = document.getElementById("descripcion");	
	var estadoPersona = document.getElementById("estadoPersona");
	
	//Datos del directivo
	var esDirectivo = document.getElementById("esDirectivo");
	var cargoDirectivo = document.getElementById("cargoDirectivo");	
	var estadoDirectivo = document.getElementById("estadoDirectivo");

	//Datos de los docentes
	var esDocente = document.getElementById("esDocente");
	var trato = document.getElementById("trato");
	var colorpicker1 = document.getElementById("colorpicker1");
	var colorpicker2 = document.getElementById("colorpicker2");
	var fechaIngresoDocente = document.getElementById("fechaIngresoDocente");
	var curriculum = document.getElementById("curriculum");
	var estadoDocente = document.getElementById("estadoDocente");
	
	//Datos de los alumnos
	var esAlumno = document.getElementById("esAlumno");
	var legajo = document.getElementById("legajo");
	var fechaIngresoAlumno = document.getElementById("fechaIngresoAlumno");
	var estadoAlumno = document.getElementById("estadoAlumno");
	
	//Datos de los tutores
	var esTutor = document.getElementById("esTutor");
	var estadoTutor = document.getElementById("estadoTutor");
	
	//Datos de los usuarios
	var permisoDirectivo = document.getElementById("permisoDirectivo");
	var permisoDocente = document.getElementById("permisoDocente");
	var permisoAlumno = document.getElementById("permisoAlumno");
	var permisoTutor = document.getElementById("permisoTutor");	
	var usuario = document.getElementById("nombreUsuario");
	var password = document.getElementById("password");
	var estadoUsuario = document.getElementById("estadoUsuario");
	
	//cantidadAlumnosMaxima.value != "" && isNaN(parseInt(cantidadAlumnosMaxima.value))==false && colorpicker1.value != "" && colorpicker2.value != ""
	
	if(apellido.value!="" && nombre.value!="" && abreviatura.value != "" && 
		(esDirectivo.value == "0" || (esDirectivo.value == "1" && cargoDirectivo.value!="0")) && 
		(esDocente.value == "0" || (esDocente.value == "1" && trato.value!="" && colorpicker1.value!="" && colorpicker2.value!="")) &&
		usuario.value != "" && password.value != "" && password.value.length >= 6 && usuarioRepetido==false
		){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formPersona");
		formulario.submit();
		
		//Inicializamos todos campos a vacios.
		//Campos de las personas
		apellido.value = "";
		nombre.value = "";
		abreviatura.value = "";
		sexo.value = "1";
		foto.value = "";
		fechaNacimiento.value = "";
		tipoDocumento.value = "0";
		numeroDocumento.value = "";
		provincia.value = "0";
		localidad.value = "0";
		domicilio.value = "";
		telefonoFijo.value = "";
		telefonoCelular.value = "";
		email.value = "";
		facebook.value = "";
		descripcion.value = "";
		estadoPersona.value = "1";
		
		//Campos de los directivos
		esDirectivo.value = "0";
		cargoDirectivo.value = "0";
		estadoDirectivo.value = "1";
		$('#formularioDirectivo').hide("fast");
		
		//Campos de los docentes
		esDocente.value = "0";
		trato.value = "";	
		$('#colorpicker1').colorpicker('setValue',"#ffffff");
		$('#colorpicker2').colorpicker('setValue',"#000000");		
		$("#colorEjemplo").css("background","#FFFFFF");
		$("#colorEjemplo").css("color","#000000");			
		fechaIngresoDocente.value = "";
		curriculum.value = "";
		estadoDocente.value = "1";
		$('#formularioDocente').hide("fast");
		
		//Campos de los alumnos
		esAlumno.value = "0";
		legajo.value = "";
		fechaIngresoAlumno.value = "";
		estadoAlumno.value = "1";
		$('#formularioAlumno').hide("fast");
		
		//Campos de los tutores
		esTutor.value = "0";
		estadoTutor.value = "1";
		$('#formularioTutor').hide("fast");
		
		//Campos de los usuarios
		permisoDirectivo.value = "0";
		permisoDocente.value = "0";
		permisoAlumno.value = "0";
		permisoTutor.value = "0";
		usuario.value = "";
		password.value = "";
		estadoUsuario.value = "1";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de las personas
		$("#campoApellido").removeClass("has-error");
		$("#campoNombre").removeClass("has-error");
		$("#campoAbreviatura").removeClass("has-error");
		
		//Campos de los directivos
		$("#campoCargoDirectivo").removeClass("has-error");
		
		//Campos de los docentes
		$("#campoTrato").removeClass("has-error");
		$("#campoColores").removeClass("has-error");
		
		//Campos de los usuarios		
		$("#campoNombreUsuario").removeClass("has-error");
		$("#campoNombreUsuario").removeClass("has-success");
		$("#campoPassword").removeClass("has-error");
		
		//Formulario en general
		$("#directivo").removeClass("in active");
		$("#docente").removeClass("in active");
		$("#alumno").removeClass("in active");
		$("#tutor").removeClass("in active");
		$("#usuario").removeClass("in active");
		$("#persona").addClass("in active");
		
		$("#tabDirectivo").removeClass("active");
		$("#tabDocente").removeClass("active");
		$("#tabAlumno").removeClass("active");
		$("#tabTutor").removeClass("active");
		$("#tabUsuario").removeClass("active");
		$("#tabPersona").addClass("active");
		
		//Le damos el foco al primer campo a completar
		$("#apellido").focus();
	}else{
		alert("Por favor, ingrese todos los datos de la persona que desea crear.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de las personas
		if(apellido.value == "") $("#campoApellido").addClass("has-error"); else $("#campoApellido").removeClass("has-error");
		if(nombre.value == "") $("#campoNombre").addClass("has-error"); else $("#campoNombre").removeClass("has-error");
		if(abreviatura.value == "") $("#campoAbreviatura").addClass("has-error"); else $("#campoAbreviatura").removeClass("has-error");
		
		//Campos de los directivos
		if(esDirectivo.value == "1" && cargoDirectivo.value=="0") $("#campoCargoDirectivo").addClass("has-error"); else $("#campoCargoDirectivo").removeClass("has-error");
		
		//Campos de los docentes
		if(esDocente.value == "1" && trato.value=="") $("#campoTrato").addClass("has-error"); else $("#campoTrato").removeClass("has-error");
		if(esDocente.value == "1" && (colorpicker1.value=="" || colorpicker2.value=="")) $("#campoColores").addClass("has-error"); else $("#campoColores").removeClass("has-error");
		
		//Campos de los usuarios
		if(usuario.value == "" || usuarioRepetido==true) $("#campoNombreUsuario").addClass("has-error"); else $("#campoNombreUsuario").removeClass("has-error");
		if(password.value == "" || password.value.length < 6) $("#campoPassword").addClass("has-error"); else $("#campoPassword").removeClass("has-error");
		
		//Abrimos el tab donde esta alojado el error para que se vea claramente.
		if(usuario.value=="" || password.value=="" || password.value.length < 6){
			$("#directivo").removeClass("in active");
			$("#docente").removeClass("in active");
			$("#alumno").removeClass("in active");
			$("#tutor").removeClass("in active");
			$("#usuario").removeClass("in active");
			$("#persona").removeClass("in active");
			
			$("#tabDirectivo").removeClass("active");
			$("#tabDocente").removeClass("active");
			$("#tabAlumno").removeClass("active");
			$("#tabTutor").removeClass("active");
			$("#tabUsuario").removeClass("active");
			$("#tabPersona").removeClass("active");
			
			$("#usuario").addClass("in active");
			$("#tabUsuario").addClass("active");
		}
		
		if(esDocente.value == "1" && (trato.value=="" || colorpicker1.value=="" || colorpicker2.value=="")){
			$("#directivo").removeClass("in active");
			$("#docente").removeClass("in active");
			$("#alumno").removeClass("in active");
			$("#tutor").removeClass("in active");
			$("#usuario").removeClass("in active");
			$("#persona").removeClass("in active");
			
			$("#tabDirectivo").removeClass("active");
			$("#tabDocente").removeClass("active");
			$("#tabAlumno").removeClass("active");
			$("#tabTutor").removeClass("active");
			$("#tabUsuario").removeClass("active");
			$("#tabPersona").removeClass("active");
			
			$("#docente").addClass("in active");
			$("#tabDocente").addClass("active");
		}
		
		if(esDirectivo.value == "1" && cargoDirectivo.value=="0"){
			$("#directivo").removeClass("in active");
			$("#docente").removeClass("in active");
			$("#alumno").removeClass("in active");
			$("#tutor").removeClass("in active");
			$("#usuario").removeClass("in active");
			$("#persona").removeClass("in active");
			
			$("#tabDirectivo").removeClass("active");
			$("#tabDocente").removeClass("active");
			$("#tabAlumno").removeClass("active");
			$("#tabTutor").removeClass("active");
			$("#tabUsuario").removeClass("active");
			$("#tabPersona").removeClass("active");
			
			$("#directivo").addClass("in active");
			$("#tabDirectivo").addClass("active");
		}
		
		if(apellido.value == "" || nombre.value == "" || abreviatura.value == ""){
			$("#directivo").removeClass("in active");
			$("#docente").removeClass("in active");
			$("#alumno").removeClass("in active");
			$("#tutor").removeClass("in active");
			$("#usuario").removeClass("in active");
			$("#persona").removeClass("in active");
			
			$("#tabDirectivo").removeClass("active");
			$("#tabDocente").removeClass("active");
			$("#tabAlumno").removeClass("active");
			$("#tabTutor").removeClass("active");
			$("#tabUsuario").removeClass("active");
			$("#tabPersona").removeClass("active");
			
			$("#persona").addClass("in active");
			$("#tabPersona").addClass("active");
		}	
	}
}

//Este metodo se llama cuando se tiene que modificar una persona
function modificarPersona(){
	//Datos de la persona
	var apellido = document.getElementById("apellido");
	var nombre = document.getElementById("nombre");
	var abreviatura = document.getElementById("abreviatura");
	var sexo = document.getElementById("sexo");
	var foto = document.getElementById("foto");
	var fechaNacimiento = document.getElementById("fechaNacimiento");
	var tipoDocumento = document.getElementById("tipoDocumento");
	var numeroDocumento = document.getElementById("numeroDocumento");
	var provincia = document.getElementById("provincia");
	var localidad = document.getElementById("localidad");
	var domicilio = document.getElementById("domicilio");
	var telefonoFijo = document.getElementById("telefonoFijo");
	var telefonoCelular = document.getElementById("telefonoCelular");
	var email = document.getElementById("email");
	var facebook = document.getElementById("facebook");	
	var descripcion = document.getElementById("descripcion");	
	var estadoPersona = document.getElementById("estadoPersona");
	
	if(apellido.value!="" && nombre.value!="" && abreviatura.value != ""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formPersona");
		formulario.submit();
		
		//Inicializamos todos campos a vacios.
		//Campos de las personas
		foto.value = "";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de las personas
		$("#campoApellido").removeClass("has-error");
		$("#campoNombre").removeClass("has-error");
		$("#campoAbreviatura").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#apellido").focus();
	}else{
		alert("Por favor, ingrese todos los datos de la persona que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de las personas
		if(apellido.value == "") $("#campoApellido").addClass("has-error"); else $("#campoApellido").removeClass("has-error");
		if(nombre.value == "") $("#campoNombre").addClass("has-error"); else $("#campoNombre").removeClass("has-error");
		if(abreviatura.value == "") $("#campoAbreviatura").addClass("has-error"); else $("#campoAbreviatura").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que modificar un directivo
function modificarDirectivo(){
	//Datos del directivo
	var cargoDirectivo = document.getElementById("cargoDirectivo");
	var estadoDirectivo = document.getElementById("estadoDirectivo");
	
	if(cargoDirectivo.value!="0"){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formDirectivo");
		formulario.submit();
		
		//Campos de los directivos
		$("#campoCargoDirectivo").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#cargoDirectivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos del directivo que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.	
		//Campos de los directivos
		if(cargoDirectivo.value=="0") $("#campoCargoDirectivo").addClass("has-error"); else $("#campoCargoDirectivo").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que modificar un docente
function modificarDocente(){
	//Datos de los docentes
	var trato = document.getElementById("trato");
	var colorpicker1 = document.getElementById("colorpicker1");
	var colorpicker2 = document.getElementById("colorpicker2");
	var fechaIngresoDocente = document.getElementById("fechaIngresoDocente");
	var curriculum = document.getElementById("curriculum");
	var estadoDocente = document.getElementById("estadoDocente");
	
	if(trato.value!="" && colorpicker1.value!="" && colorpicker2.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formDocente");
		formulario.submit();
		
		//Hacemos aparecer el enlace al archivo recien cargado
		if(curriculum.value != "") document.getElementById("archivoForm").innerHTML = "Descargar";
		
		//Inicializamos todos campos a vacios.			
		//Campos de los docentes
		curriculum.value = "";
						
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de los docentes
		$("#campoTrato").removeClass("has-error");
		$("#campoColores").removeClass("has-error");
				
		//Le damos el foco al primer campo a completar
		$("#trato").focus();
	}else{
		alert("Por favor, ingrese todos los datos del docente que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de los docentes
		if(trato.value=="") $("#campoTrato").addClass("has-error"); else $("#campoTrato").removeClass("has-error");
		if(colorpicker1.value=="" || colorpicker2.value=="") $("#campoColores").addClass("has-error"); else $("#campoColores").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que modificar un alumno
function modificarAlumno(){
	//Datos de los alumnos
	var legajo = document.getElementById("legajo");
	var fechaIngresoAlumno = document.getElementById("fechaIngresoAlumno");
	var estadoAlumno = document.getElementById("estadoAlumno");
		
	if(estadoAlumno.value==1 || estadoAlumno.value==0){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formAlumno");
		formulario.submit();
		
		//Le damos el foco al primer campo a completar
		$("#legajo").focus();
	}else{
		alert("Por favor, ingrese todos los datos del alumno que desea modificar.");
	}
}

//Este metodo se llama cuando se tiene que modificar un tutor
function modificarTutor(){
	//Datos de los tutores	
	var estadoTutor = document.getElementById("estadoTutor");
	
	if(estadoTutor.value==1 || estadoTutor.value==0){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formTutor");
		formulario.submit();
		
		//Le damos el foco al primer campo a completar
		$("#estadoTutor").focus();
	}else{
		alert("Por favor, ingrese todos los datos del tutor que desea modificar.");
	}
}

//Este metodo se llama cuando se tiene que modificar un usuario
function modificarUsuario(){
	//Datos de los usuarios
	var permisoDirectivo = document.getElementById("permisoDirectivo");
	var permisoDocente = document.getElementById("permisoDocente");
	var permisoAlumno = document.getElementById("permisoAlumno");
	var permisoTutor = document.getElementById("permisoTutor");	
	var usuario = document.getElementById("nombreUsuario");
	var estadoUsuario = document.getElementById("estadoUsuario");
	
	if(usuario.value != "" && (estadoUsuario.value==1 || estadoUsuario.value==0)){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formUsuario");
		formulario.submit();
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
		//Campos de los usuarios		
		
		//Le damos el foco al primer campo a completar
		$("#permisoDirectivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos del usuario que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de los usuarios		
	}
}

//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------------------------------
//Este metodo se llama cuando se tiene que crear un directivo y luego sin recargar la pantalla modificarlo.
function actualizarDirectivo(){
	//Datos del directivo
	var esDirectivo = document.getElementById("esDirectivo");
	var cargoDirectivo = document.getElementById("cargoDirectivo");	
	var estadoDirectivo = document.getElementById("estadoDirectivo");
	
	if(esDirectivo.value == "1" && cargoDirectivo.value!="0"){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formDirectivo");
		formulario.submit();
		
		//Inicializamos todos campos necesarios.
		//Campos de los directivos
		esDirectivo.disabled=true;
						
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de los directivos
		$("#campoCargoDirectivo").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#cargoDirectivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos del directivo que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de los directivos
		if(esDirectivo.value == "1" && cargoDirectivo.value=="0") $("#campoCargoDirectivo").addClass("has-error"); else $("#campoCargoDirectivo").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que crear un docente y luego sin recargar la pantalla modificarlo.
function actualizarDocente(){
	//Datos de los docentes
	var esDocente = document.getElementById("esDocente");
	var trato = document.getElementById("trato");
	var colorpicker1 = document.getElementById("colorpicker1");
	var colorpicker2 = document.getElementById("colorpicker2");
	var fechaIngresoDocente = document.getElementById("fechaIngresoDocente");
	var curriculum = document.getElementById("curriculum");
	var estadoDocente = document.getElementById("estadoDocente");
		
	if(esDocente.value == "1" && trato.value!="" && colorpicker1.value!="" && colorpicker2.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formDocente");
		formulario.submit();
		
		//Inicializamos todos campos necesarios.
		//Campos de los docentes
		esDocente.disabled = true;
		curriculum.value = "";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de los docentes
		$("#campoTrato").removeClass("has-error");
		$("#campoColores").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#trato").focus();
	}else{
		alert("Por favor, ingrese todos los datos del docente que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de los docentes
		if(esDocente.value == "1" && trato.value=="") $("#campoTrato").addClass("has-error"); else $("#campoTrato").removeClass("has-error");
		if(esDocente.value == "1" && (colorpicker1.value=="" || colorpicker2.value=="")) $("#campoColores").addClass("has-error"); else $("#campoColores").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que crear un alumno y luego sin recargar la pantalla modificarlo.
function actualizarAlumno(){
	//Datos de los alumnos
	var esAlumno = document.getElementById("esAlumno");
	var legajo = document.getElementById("legajo");
	var fechaIngresoAlumno = document.getElementById("fechaIngresoAlumno");
	var estadoAlumno = document.getElementById("estadoAlumno");
	
	if(esAlumno.value == "1" && (estadoAlumno.value=="1" || estadoAlumno.value=="0")){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formAlumno");
		formulario.submit();
		
		//Inicializamos todos campos necesarios			
		//Campos de los alumnos
		esAlumno.disabled = true;
		
		//Le damos el foco al primer campo a completar
		$("#legajo").focus();
	}else{
		alert("Por favor, ingrese todos los datos del alumno que desea modificar.");
	}
}

//Este metodo se llama cuando se tiene que crear un tutor y luego sin recargar la pantalla modificarlo.
function actualizarTutor(){
	//Datos de los tutores
	var esTutor = document.getElementById("esTutor");
	var estadoTutor = document.getElementById("estadoTutor");
	
	if(esTutor.value == "1" && (estadoTutor.value=="0" || estadoTutor.value=="1")){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formTutor");
		formulario.submit();
		
		//Inicializamos todos campos necesarios			
		//Campos de los alumnos
		esTutor.disabled = true;
				
		//Le damos el foco al primer campo a completar
		$("#estadoTutor").focus();
	}else{
		alert("Por favor, ingrese todos los datos del tutor que desea modificar.");
	}
}

//Este metodo se llama cuando se tiene que crear un usuario y luego sin recargar la pantalla modificarlo.
function actualizarUsuario(){
	//Datos de los usuarios
	var permisoDirectivo = document.getElementById("permisoDirectivo");
	var permisoDocente = document.getElementById("permisoDocente");
	var permisoAlumno = document.getElementById("permisoAlumno");
	var permisoTutor = document.getElementById("permisoTutor");	
	var usuario = document.getElementById("nombreUsuario");
	var password = document.getElementById("password");
	var estadoUsuario = document.getElementById("estadoUsuario");
			
	if(usuario.value != "" && password.value != "" && password.value.length >= 6 && (estadoUsuario.value=="0" || estadoUsuario.value=="1")){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formUsuario");
		formulario.submit();
						
		//Inicializamos todos campos necesarios			
		//Campos de los alumnos
		usuario.disabled = true;
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
		//Campos de los usuarios
		$("#campoNombreUsuario").removeClass("has-error");
		$("#campoNombreUsuario").removeClass("has-success");
		$("#campoPassword").removeClass("has-error");
						
		//Le damos el foco al primer campo a completar
		$("#permisoDirectivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos del usuario que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de los usuarios
		if(usuario.value == "") $("#campoNombreUsuario").addClass("has-error"); else $("#campoNombreUsuario").removeClass("has-error");
		if(password.value == "" || password.value.length < 6) $("#campoPassword").addClass("has-error"); else $("#campoPassword").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que resetear el password del usuario
function resetearPassword(){
	var numeroDocumento = document.getElementById("numeroDocumento");
			
	if(numeroDocumento.value!="" && numeroDocumento.value.length >= 6){
		var resp = confirm("Realmente desea resetear el password del usuario?");
		if(resp == true){
			//Enviamos el formulario al servidor para que se procese la transaccion
			var formulario = document.getElementById("formResetearPassword");
			formulario.submit();
			
			//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
			$("#campoNumeroDocumento").removeClass("has-error");
			
			//Le damos el foco al primer campo a completar
			$("#permisoDirectivo").focus();
		}		
	}else{
		alert("Disculpe, para resetear el password del usuario la persona debe tener correctamente cargado y guardado su n\u00famero de documento.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.		
		$("#campoNumeroDocumento").addClass("has-error");
		
		//Mostramos la pestaña donde esta el campo incompleto: numero de documento		
		$("#directivo").removeClass("in active");
		$("#docente").removeClass("in active");
		$("#alumno").removeClass("in active");
		$("#tutor").removeClass("in active");
		$("#usuario").removeClass("in active");
		$("#persona").removeClass("in active");
		
		$("#tabDirectivo").removeClass("active");
		$("#tabDocente").removeClass("active");
		$("#tabAlumno").removeClass("active");
		$("#tabTutor").removeClass("active");
		$("#tabUsuario").removeClass("active");
		$("#tabPersona").removeClass("active");
		
		$("#persona").addClass("in active");
		$("#tabPersona").addClass("active");
	}
}

/*Este metodo se llama cuando en el metodo consultar registros se cambia la seleccion en el filtro*/
function filtrarNotificaciones(url){
	var cicloLectivo = document.getElementById("cicloLectivo");
		
	window.location = url + "/" + cicloLectivo.value + ".html";
}

//Este metodo se llama cuando se tiene que importar personas desde un XML.
function importarPersonas(){
	var archivo = document.getElementById("archivo");
	var usuarios = document.getElementById("usuarios");	
	
	if(archivo.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formImportar");
		formulario.submit();
		
		//Inicializamos todos campos a vacios.
		archivo.value = "";
		usuarios.value = "1";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de las personas
		$("#campoArchivo").removeClass("has-error");
		$("#campoUsuarios").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#archivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos marcados como obligatorios.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		if(archivo.value == "") $("#campoArchivo").addClass("has-error"); else $("#campoArchivo").removeClass("has-error");
	}
}